CREATE TABLE [dbo].[tb_Organizaciones]
(
[idOrganizaciones] [int] NOT NULL IDENTITY(1, 1),
[Nombre] [varchar] (250) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[CUISE] [int] NOT NULL,
[CUE] [int] NULL,
[Tipo] [int] NOT NULL,
[Sistema] [int] NOT NULL,
[Domicilio] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Localidad] [int] NOT NULL,
[Responsable] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[NormaCreacion] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[NormaBaja] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CuentaBancaria] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Dependencia] [int] NULL,
[TieneSubOrganizacion] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Email] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[idCeprode] [int] NULL,
[EsPrivada] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[CodigoBLP] [int] NULL,
[AutoridadPOF] [int] NULL,
[Baja] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[FehaAlta] [datetime] NULL,
[FechaBaja] [datetime] NULL,
[Municipalidad] [int] NULL,
[GrupoOrganizacion] [int] NULL,
[Observaciones] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[AuditoriaOrg] ON [dbo].[tb_Organizaciones]
for UPDATE, DELETE 
AS

SET NOCOUNT ON
declare @idOrganizacionesAudit int
declare @Nombre varchar(250)
declare @CUISE int
declare @CUE int 
declare @Tipo int
declare @Sistema int
declare @Domicilio varchar(100)
declare @Localidad int
declare @Responsable varchar(50)
declare @NormaCreacion varchar(80)
declare @NormaBaja varchar(80)
declare @CuentaBancaria varchar(50)
declare @Dependencia int
declare @TieneSubOrganizacion varchar(1)
declare @Email varchar(50)
declare @idCeprode int
declare @EsPrivada varchar(1)
declare @CodigoBLP int
declare @AutoridadPOF int
declare @Baja varchar(1)
declare @FechaAlta datetime
declare @FechaBaja datetime
declare @Municipalidad int
declare @GrupoOrganizacion int
/*
SELECT @idOrganizacionesaudit=idOrganizaciones, @Nombre=Nombre,@CUISE=CUISE,@CUE=CUE,@Tipo=Tipo,
@Sistema=Sistema,@Domicilio=Domicilio,@Localidad=Localidad,@Responsable=Responsable,@NormaCreacion=NormaCreacion,@NormaBaja=NormaBaja,
@CuentaBancaria=CuentaBancaria,@Dependencia=Dependencia,@TieneSubOrganizacion=TieneSubOrganizacion,@Email=Email,@idCeprode=idCeprode,
@EsPrivada=EsPrivada,@CodigoBLP=CodigoBLP,@AutoridadPOF=AutoridadPOF,@Baja=Baja,@FechaAlta=FehaAlta,@FechaBaja=FechaBaja,
@Municipalidad=Municipalidad,@grupoorganizacion=grupoorganizacion
FROM deleted
INSERT INTO tb_OrganizacionesAudit
( idOrganizacionesAudit, Nombre, [CUISE], [CUE], [Tipo], [Sistema], [Domicilio], [Localidad], [Responsable], [NormaCreacion], [NormaBaja], [CuentaBancaria], [Dependencia], [TieneSubOrganizacion], [Email], [idCeprode], [EsPrivada], [CodigoBLP], [AutoridadPOF], [Baja], [FechaAlta], [FechaBaja], [Municipalidad], [GrupoOrganizacion],[ABM])
VALUES (@idOrganizacionesAudit, @Nombre, @CUISE, @CUE, @Tipo,@Sistema, @Domicilio, @Localidad, @Responsable, @NormaCreacion, @NormaBaja, @CuentaBancaria, @Dependencia, @TieneSubOrganizacion,@Email, @idCeprode, @EsPrivada, @CodigoBLP, @AutoridadPOF, @Baja, @FechaAlta, @FechaBaja, @Municipalidad,@grupoorganizacion,'Baja/Modif.')


*/
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[AuditoriaOrgins] ON [dbo].[tb_Organizaciones]
for insert
AS
SET NOCOUNT ON
declare @idOrganizacionesAudit int
declare @Nombre varchar(250)
declare @CUISE int
declare @CUE int 
declare @Tipo int
declare @Sistema int
declare @Domicilio varchar(100)
declare @Localidad int
declare @Responsable varchar(50)
declare @NormaCreacion varchar(80)
declare @NormaBaja varchar(80)
declare @CuentaBancaria varchar(50)
declare @Dependencia int
declare @TieneSubOrganizacion varchar(1)
declare @Email varchar(50)
declare @idCeprode int
declare @EsPrivada varchar(1)
declare @CodigoBLP int
declare @AutoridadPOF int
declare @Baja varchar(1)
declare @FehaAlta datetime
declare @FechaBaja datetime
declare @Municipalidad int
declare @GrupoOrganizacion int
/*
SELECT @idOrganizacionesaudit=idOrganizaciones, @Nombre=Nombre,@CUISE=CUISE,@CUE=CUE,@Tipo=Tipo,
@Sistema=Sistema,@Domicilio=Domicilio,@Localidad=Localidad,@Responsable=Responsable,@NormaCreacion=NormaCreacion,@NormaBaja=NormaBaja,
@CuentaBancaria=CuentaBancaria,@Dependencia=Dependencia,@TieneSubOrganizacion=TieneSubOrganizacion,@Email=Email,@idCeprode=idCeprode,
@EsPrivada=EsPrivada,@CodigoBLP=CodigoBLP,@AutoridadPOF=AutoridadPOF,@Baja=Baja,@FehaAlta=FehaAlta,@FechaBaja=FechaBaja,
@Municipalidad=Municipalidad,@grupoorganizacion=grupoorganizacion
FROM inserted
INSERT INTO tb_OrganizacionesAudit
( idOrganizacionesAudit, Nombre, [CUISE], [CUE], [Tipo], [Sistema], [Domicilio], [Localidad], [Responsable], [NormaCreacion], [NormaBaja], [CuentaBancaria], [Dependencia], [TieneSubOrganizacion], [Email], [idCeprode], [EsPrivada], [CodigoBLP], [AutoridadPOF], [Baja], [FechaAlta], [FechaBaja], [Municipalidad], [GrupoOrganizacion],[ABM])
VALUES (@idOrganizacionesAudit, @Nombre, @CUISE, @CUE, @Tipo,@Sistema, @Domicilio, @Localidad, @Responsable, @NormaCreacion, @NormaBaja, @CuentaBancaria, @Dependencia, @TieneSubOrganizacion,@Email, @idCeprode, @EsPrivada, @CodigoBLP, @AutoridadPOF, @Baja, @FehaAlta, @FechaBaja, @Municipalidad,@grupoorganizacion,'Alta')

*/
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[cuisesrepetidos] ON [dbo].[tb_Organizaciones] 
FOR INSERT,Update
AS
SET NOCOUNT ON
DECLARE @cuise INT

SELECT  @cuise = cuise FROM Inserted 

if (@cuise > 0 AND (SELECT count( *) FROM sagenet.dbo.tb_organizaciones WHERE @cuise = cuise) >1)
 BEGIN
	ROLLBACK transaction 
	RAISERROR('El CUISE seleccionado ya existe.', 16,1)
          
END



GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[InsertSuborganizaciones] 
on [dbo].[tb_Organizaciones] for insert as

insert into tb_suborganizaciones(descripcion,org,espropia,grilla,fechaalta,baja,
								domicilio,localidad,nivel,modalidad,zona,cue,telefono,jornada,
								cantturnosfunc,categoria,esprivada,tipo,mnemo,organizacionliquidadora)
			select i.nombre,idorganizaciones,'S',22,getdate(),'N',i.domicilio,i.localidad,12,437,7,i.cue,
					null,1,0,1,i.esprivada,2,'n/n',null
			from inserted i



GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[updCUISE] ON [dbo].[tb_Organizaciones] 
FOR UPDATE
AS
SET NOCOUNT ON
DECLARE @cuise INT

if (update(cuise))
begin
 update tb_Plazas set cuise = (Select cuise from inserted) where organizacion = (Select idorganizaciones from inserted)
end

GO
ALTER TABLE [dbo].[tb_Organizaciones] ADD CONSTRAINT [PK_tb_Organizaciones] PRIMARY KEY CLUSTERED  ([idOrganizaciones]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [idxcuise] ON [dbo].[tb_Organizaciones] ([CUISE]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tb_Organizaciones_tb_GruposOrganizacion] FOREIGN KEY ([GrupoOrganizacion]) REFERENCES [dbo].[tb_GruposOrganizacion] ([IDGrupoOrganizacion])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tb_Organizaciones_tb_Localidades] FOREIGN KEY ([Localidad]) REFERENCES [dbo].[tb_Localidades] ([idLocalidad])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tb_Organizaciones_tb_Localidades1] FOREIGN KEY ([Municipalidad]) REFERENCES [dbo].[tb_Localidades] ([idLocalidad])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tb_Organizaciones_tb_Sistemas] FOREIGN KEY ([Sistema]) REFERENCES [dbo].[tb_Sistemas] ([idSistema])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tbOrganizaciones_tbSistemas] FOREIGN KEY ([Sistema]) REFERENCES [dbo].[tb_Sistemas] ([idSistema])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tb_Organizaciones_tb_TiposOrganizacion] FOREIGN KEY ([Tipo]) REFERENCES [dbo].[tb_TiposOrganizacion] ([idTipoOrganizacion])
GO
ALTER TABLE [dbo].[tb_Organizaciones] WITH NOCHECK ADD CONSTRAINT [FK_tbOrganizaciones_tbTiposOrganizacion] FOREIGN KEY ([Tipo]) REFERENCES [dbo].[tb_TiposOrganizacion] ([idTipoOrganizacion])
GO
EXEC sp_addextendedproperty N'MS_Description', N'Referencia a Tb_Localidades', 'USER', N'dbo', 'TABLE', N'tb_Organizaciones', 'COLUMN', N'Municipalidad'
GO
